21 research outputs found

    Guarded Attribute Grammars and Publish/Subscribe for implementing distributed collaborative business processes with high data availability

    Get PDF
    With the ever-increasing development of the Internet and the diversification of communication media , business processes of companies are increasingly collaborative and distributed. This contrasts with traditional solutions deployed for their management which are usually centralized, based on the activity flow or on the exchanged documents. Moreover, the users who are usually the main actors in collaborations are often relegated to second place. Recently, a distributed, data-driven and user-centric approach called Guarded Attributed Grammar (GAG) has been proposed for the modeling of such processes; it thus provides an answer to most of these limitations. In this paper, we present an approach for implementing business processes modeled using GAG in which communications are done by publish/subscribe with redirection of subscription (pub/sub-RS). The pub/sub-RS-which we propose-guarantees high data availability during the process execution by ensuring that an actor, perceived as a subscriber, will always receive a data he needs to perform a task as soon as it is produced. Moreover, if the data is semi-stuctured, and produced collaboratively and incrementally by several actors, its subscribers will be notified as soon as one of its components (a prefix) is produced simultaneously, as they will be subscribed in a transparent way to the remaining components (the suffix).Avec le développement toujours croissant de l'Internet et la diversification des moyens de communication, les processus métiers sont de plus en plus collaboratifs et distribués. Ceci contraste avec les solutions traditionnelles déployées pour leur gestion qui sont habituellement centralisées, basées sur le flux d'activités ou sur les documents échangés. Bien plus, les utilisateurs qui sont généralement les acteurs principaux dans la collaboration y sont souvent relégués au second rang. Récemment, une approche distribuée, centrée sur l'utilisateur et pilotée par les données appelée Grammaires Attribuées Gardées (GAG), a été proposée pour la modélisation de tels processus; elle fournit donc une réponse à la plupart de ces limitations. Dans ce papier, nous présentons une approche de mise en œuvre de processus métiers modélisés à l'aide des GAG dans laquelle les communications se font par publish/subscribe avec redirection de souscriptions (pub/sub-RS). Le pub/sub-RS (que nous proposons) garantit une haute disponibilité des données pendant l'exécution d'un processus en assurant qu'un acteur (perçu comme un abonné) recevra toujours une donnée dont il a besoin pour effectuer une tâche dès qu'elle est produite. De plus, si la donnée est semi-structurée et produite collaborativement et incrémentalement par plusieurs acteurs, ses abonnés seront notifiés dès qu'une de ses composantes (un préfixe) est produite en même temps qu'ils seront abonnés de manière transparente aux composantes résiduelles (le suffixe)

    A publish/subscribe approach for implementing GAG's distributed collaborative business processes with high data availability

    Get PDF
    International audienceWith the ever-increasing development of the Internet and the diversification of communication media, there is a growing interest in distributed business process models that focus on exchanged data (or artifact) to control and pilot processes. The Guarded Attribute Grammars (GAG) is one such model; it stands out from the others by the fact that it emphasizes the central place occupied by user decisions during the process execution: it is both data-driven and user-centric. In this paper we present an approach to implementing distributed collaborative business processes modeled using GAG in which communications are done by publish/subscribe with redirection of subscriptions (pub/sub-RS). Pub/sub-RS-which we propose-guarantees high data availability during the process execution, by ensuring that an actor, perceived as a subscriber, will always receive a data he needs to perform a task as soon as it is produced. Moreover, if the data is semi-structured, and is produced collaboratively and incrementally by several actors, its subscribers will be notified as soon as one of its components (a prefix) is produced at the same time they will be subscribed in a transparent way to the remaining components (the suffix).Avec le développement toujours croissant d'internet et la diversification des moyens de communication il est un intérêt croissant pour les modèles de processus métiers distribués qui mettent l'accent sur les données échangées (ou artefacts) pour contrôler et piloter les processus. Les grammaires attribuées avec gardes (GAG) est l'un de ces modèles; il se démarque des autres par le fait qu'il met l'emphase sur la place centrale qu'occupe les décisions des utilisateurs lors de l'exécution d'un processus: il est à la fois centré sur les données et sur l'utilisateur. Dans ce papier, nous présentons une approche de mise en œuvre de processus métiers collaboratifs distribués modélisés à l'aide des GAG dans lesquels les communications se font par publish/subscribe avec redirection de souscriptions (pub/sub-RS). Le pub/sub-RS (que nous proposons), garantit une haute disponibilité des données pendant l'exécution des processus en assurant qu'un acteur (vu comme un abonné), recevra toujours une donnée dont il a besoin pour effectuer une tâche dès qu'elle est produite. De plus, si la donnée est semi-structurée, et produite collaborativement et incrémentalement par plusieurs acteurs, les abonnés seront notifiés dès qu'une de ses composantes (un préfixe) est produite en même temps qu'ils seront abonnés de manière transparente à ses composantes résiduelles (le suffixe)

    Lazy Services: A Service Oriented Architecture based on Incremental Computations and Commitments

    Get PDF
    A service oriented architecture (SOA) aims to structure complex distributed systems in terms of re-usable components, called services. To guarantee a good service interoperability these services must be weakly coupled and their description must be separated from their implementations. The interface of a service provides information on how it can be invoked: the logical location where it can be invoked, the supported communication protocol and the types of its input (parameters) and output (result). Traditionally, a service can only be invoked when its parameters are fully defined and, symmetrically, these services only return their results after they have been totally processed. In this paper, we promote a more liberal view of services by allowing them to consume their data lazily (i.e., as they need it) and produce their results incrementally (i.e., as they are produced). We develop this notion as 'lazy services' by building up from the model of guarded attributed grammars that was recently introduced in the context of distributed collaborative systems. We abstract from this model and limit somewhat its expressiveness so that it can comply more broadly to SOA principles. We introduce an improvement on subscription management to optimize the distributed implementation of lazy services

    A Language and Methodology based on Scenarios, Grammars and Views, for Administrative Business Processes Modelling

    Get PDF
    International audienceIn Business Process Management (BPM), process modelling has been solved in various ways. However, there are no commonly accepted modelling tools (languages). Some of them are criticized for their inability to capture both the lifecycle, informational and organizational models of processes. For some others, process modelling is generally done using a single graph; this does not facilitate modularity, maintenance and scalability. In addition, some of these languages are very general; hence, their application to specific domain processes (such as administrative processes) is very complex. In this paper, we present a new language and a new methodology, dedicated to administrative process modelling. This language is based on a variant of attributed grammars and is able to capture the lifecycle, informational and organizational models of such processes. Also, it proposes a simple graphical formalism allowing to model each process's execution scenario as an annotated tree (modularity). In the new language, a particular emphasis is put on modelling (using "views") the perceptions that actors have on processes and their data

    Un protocole de fertilisation croisée d’un langage fonctionnel et d’un langage objet: application à la mise en oeuvre d’un prototype d’éditeur coopératif asynchrone

    No full text
    International audienceThe cross-fertilization is a technique to pool expertise and resources of at least two sectors in order to make the best of each. In this paper, we present a protocol of programming based on cross-fertilization of two programming languages (Haskell and Java) under two different programming paradigms: the functional paradigm and the object paradigm. This pooling of the strengths of each type of language permit to develop more secure applications in a shorter time, with functional code concise, easily understandable and thus, easily maintainable by one third. We present the meta-architecture of applications developed following this approach and an instantiation of it for the implementation of a prototype of an asynchronous collaborative editor.La fertilisation croisée est une technique permettant de mettre en commun des compétences et des ressources d’au moins deux secteurs d’activité afin d’en tirer le meilleur de chaque. Dans ce papier, nous présentons un protocole de programmation basé sur la fertilisation croisée de deux langages de programmation (Haskell et Java) relevant de deux paradigmes de programmation différents: le paradigme fonctionnel et le paradigme objet. Cette mutualisation des points forts de chaque type de langage permet de développer des applications plus sûres, en un temps moindre, ayant un code fonctionnel concis, facilement compréhensible et donc, facilement maintenable par un tiers. Nous présentons la méta-architecture des applications développées suivant cette approche ainsi qu’une instanciation de celle-ci pour la mise en oeuvre d’un prototype d’éditeur coopératifasynchrone

    Une approche grammaticale pour la fusion des réplicats partiels d’un document structuré : application à l’édition coopérative asynchrone

    No full text
    Un document structuré complexe est représenté intentionnellement sous la forme d’une structure arborescente décorée par des attributs. Si on ne s’intéresse qu’aux aspects purement structurels, les documents licites peuvent être caractérisés par une grammaire algébrique abstraite. Dans cette thèse,après avoir montré comment l’édition coopérative de tels documents peut être étudiée au moyen d’un modèle inspiré des modèles workflow, nous po-sons et donnons une solution au problème de la fusion en un document global(cohérent) de diverses vues partielles d’un document éditées de façon asynchrone. A cette fin, nous représentons l’ensemble (potentiellement infini) de documents compatibles avec une vue partielle donnée par une structure dedonnées co-inductive appelée arène. Cette structure encapsule un ensemble régulier d’arbres et peut être considérée comme l’image d’une vue partielle du document par le morphisme canonique (anamorphisme)associé à une co-algèbre (un automate d’arbres). Ainsi présenté, fusionner les diverses vues partielles revient à construire l’intersection des ensembles réguliers d’arbres correspondants à chacune des vues ; cette intersection peut être obtenue en utilisant une opération de synchronisation définie sur les automates d’arbres.Nous présentons un outil sommaire permettant de faire la démonstration de l’algorithmique issue de ce travail.A complex structured document is intentionnally represented as a tree decorated with attributes. If we focus our attention to purely structural as-pects, the set of legal documents can be fully caracterized by an abstractcontext-free grammar. In this thesis we address the problem of the coopera-tive edition of structured documents in a distributed workflow system. We present and give a solution to the problem of how to merge a set of partialviews of a document (edited asynchronously) into one global coherent docu-ment. For that purpose, we represent the potentially infinite set of documents compatible with a given partial view as a coinductive data structure. Thisset is a regular set of trees that can be obtained as the image of the partial view of the document by the canonical morphism (anamorphism) associated with a coalgebra (some kind of tree automaton). Merging partial views thenamounts to computing the intersection of the corresponding regular sets of trees which can be obtained using a synchronization operation on tree auto-mata. We present a tool for demonstrating the various algorithms resultingfrom our study

    Un protocole de fertilisation croisée d’un langage fonctionnel et d’un langage objet: application à la mise en oeuvre d’un prototype d’éditeur coopératif asynchrone

    No full text
    International audienceThe cross-fertilization is a technique to pool expertise and resources of at least two sectors in order to make the best of each. In this paper, we present a protocol of programming based on cross-fertilization of two programming languages (Haskell and Java) under two different programming paradigms: the functional paradigm and the object paradigm. This pooling of the strengths of each type of language permit to develop more secure applications in a shorter time, with functional code concise, easily understandable and thus, easily maintainable by one third. We present the meta-architecture of applications developed following this approach and an instantiation of it for the implementation of a prototype of an asynchronous collaborative editor.La fertilisation croisée est une technique permettant de mettre en commun des compétences et des ressources d’au moins deux secteurs d’activité afin d’en tirer le meilleur de chaque. Dans ce papier, nous présentons un protocole de programmation basé sur la fertilisation croisée de deux langages de programmation (Haskell et Java) relevant de deux paradigmes de programmation différents: le paradigme fonctionnel et le paradigme objet. Cette mutualisation des points forts de chaque type de langage permet de développer des applications plus sûres, en un temps moindre, ayant un code fonctionnel concis, facilement compréhensible et donc, facilement maintenable par un tiers. Nous présentons la méta-architecture des applications développées suivant cette approche ainsi qu’une instanciation de celle-ci pour la mise en oeuvre d’un prototype d’éditeur coopératifasynchrone
    corecore